package bm.com.framework.common.config;

public interface EnumRoute {


    //公共模块
    interface CommonRoute {
        String Base = "/common";

        interface api {
            String GET_IMAGE_VERIFY_CODE = "/get-image-verify-code";
            String GET_WORD_VERIFY_CODE = "/get-word-verify-code";
            String GET_ORG_LIST_BY_MOBILE = "/get-org-list-by-mobile";
        }

        //上传模块
        interface upload {
            String SINGLE_FILE = "/upload/single-file"; //单一文件上传
        }

        /**
         * 登录注册
         */
        interface Login {
            String Login = "/login";  //登录
            String SIGN_IN = "/sign-in";  /* 注册 */
            String LOGIN_OUT = "/login-out";  /* 退出 */
            String CHANGE_ORG = "/change-org";/* 切换组织 */
            String GET_ORG_LIST = "/get-org-list";/* 获取所在的所有组织信息 */
        }
    }

    interface MediaRoute{
        String Base ="/media";
        interface common{
            String MEDIA_COMMON_CONVERSION = "/common-conversion"; //格式转化
        }
    }


    /**
     *  AI 模块接口
     */
    interface AIRoute {
        String Base = "/ai";

        interface Chat {
            String CHAT = "/chat";
            String RAG_CHAT = "/rag-chat";
        }

        interface Embedding {
            String EMBEDDING = "/add-embedding";
        }
    }

    /**
     * 系统
     */
    interface SysRoute {
        String Base = "/sys";

        interface User {
            String GET_USER_DETAIL = "/get-user-detail";
            String GET_USER_DETAIL_BY_TOKEN = "/get-user-detail-by-token";
        }

    }

    interface OrgRoute {
        String Base = "/org";

        /**
         * 成员架构
         */
        interface Member {
            String INVITE = "/get-invite-link"; /* 成员邀请链接 */
            String JOIN_ORG = "/join-org"; /* 通过邀请链接加入组织 */
            String CHECK_INVITE = "/check-invite"; /* 审核邀请记录 */
            String BATCH_IMPORT = "/batch-import"; /* 批量导入 */
            String LIST = "/get-org-member-list"; /* 成员列表 */
            String DETAIL = "/get-org-member-detail"; /* 成员列表 */
            String EDIT = "/edit-org-member"; /* 编辑成员 */
            String SET_MANAGER = "/set-manager"; /* 设置是否为管理员 */
        }

        /**
         * 组织架构
         */
        interface Org {
            String LIST = "/get-org-list"; /* 组织列表 */
            String DETAIL = "/get-org-detail"; /* 组织列表 */
        }

        /**
         * 部门
         */
        interface Department {
            String LIST = "/get-depart-list"; /* 部门列表 */
            String LIST_ALL = "/department/get-depart-all-list"; /* 部门列表 */
            String DETAIL = "/get-depart-detail"; /* 部门详情 */
        }

    }

    /**
     * 项目
     */
    interface ProjectRoute {
        String BASE = "/project";

        interface Project {
            String GET_LIST = "/get-project-list";
            String GET_DETAIL = "/get-project-detail";
            String SAVE = "/save";
        }

        interface Member {
            String GET_LIST = "/get-project-member-list";
            String ADD = "/batch-add-member";
            String DELETE = "/project-member-delete";
        }

        interface Milestone {
            String CREATE = "/create-milestone";
            String GET_LIST = "/get-project-milestone-list";
        }
    }

    /**
     * 工单模块
     */
    interface UnitRoute {
        String BASE = "/unit";

        /**
         * 需求信息
         */
        interface Demands {
            String SAVE_DEMANDS = "/demands/save";
            String GET_DEMANDS_LIST = "/demands/get-list";
            String GET_DEMANDS_DETAIL = "/demands/get-detail";
        }

        /**
         * 列表维度数据
         */
        interface Unit {
            String GET_LIST_ALL = "/get-unit-list-all";
            String GET_LIST_MANPOWER = "/get-unit-list-manpower";
            String GET_LIST_DURATION = "/get-unit-list-duration";
            String GET_LIST_LEVEL = "/get-unit-list-level";
        }

        /**
         * 内容管理
         */
        interface Content {
            String DETAIL = "/detail";
            String ADD = "/add";
            String DELETE = "/delete";
            String UPDATE = "/update";
        }
    }
}
